大家好,鐵人賽第九天,我們的 AI Agent 即將學會一項新技能:閱讀新聞!
昨天,我們成功打造了天氣查詢工具,讓 AI Agent 能夠連接外部世界。今天,我們要在此基礎上,為我們的 MCPClient
伺服器新增第二個強大的工具——「關鍵字新聞查詢」。
這個專案將會教我們如何處理更複雜的 API 回應,特別是當 API 回傳的是一個包含多筆資料的「列表」或「陣列 (Array)」時,我們該如何進行解析和總結。
最終的成果,就是下圖這個能夠根據你的指令,去網路上搜尋相關新聞並整理成摘要的智慧助理!
我們的架構與 Day 8 相同,採用職責分離的三工作流模式。但這次,我們不是從零開始,而是在現有的基礎上進行擴展:
News
工作流: 打造一個全新的「新聞查詢邏輯核心」。MCPClient
工作流: 將新建的 News
工具,掛載到我們現有的 MCP Server 上,讓它同時擁有天氣和新聞兩種能力。MCP Demo
工作流: 我們的 AI Agent 會自動發現伺服器新增的工具,完全不用修改!首先,我們來建立處理新聞資料的 News
工作流。
News
。When Executed by Another Workflow
節點,並且設定一個傳入的值。HTTP Request
節點:
https://gnews.io/api/v4/search
{
"q": "{{ $json.title }}", // 搜尋關鍵字
"lang": "zh", // 語言:搜尋繁體中文的新聞。
"country": "tw", // 國家:篩選在台灣發布的新聞。
"max": 10, // 數量:最多回傳 10 篇文章。
"sortby": "publishedAt", // 排序:依照發布時間排序,最新的在最前面。
"in": "title,description", // 搜尋範圍:只在文章的「標題」和「描述」中尋找關鍵字。
"apikey": "YourApiKey" // 你的 API KEY
}
Edit Fields
(或 Set
) 節點:
articles
欄位下。Basic LLM Chain
節點:
你是一位專業的資深新聞編輯與分析師。請分析以下我提供的 JSON 格式新聞資料,並依照下列要求,整理成一份精簡、客觀、易於閱讀的重點新聞摘要: **整理要求:** 1. **總體摘要**:在開頭提供一個 2-3 句話的總體摘要,點出今日新聞最重要的趨勢或事件。 2. **分類整理**:將新聞分門別類(例如:科技、財經、國際等),如果新聞不足以分類,則不需分類。 3. **單篇摘要**:在各自的分類下,將每篇新聞整理成以下格式: * **標題**:[此處填寫新聞標題] * - [重點一] * - [重點二] * - [重點三] *
[來源:來源名稱]
[連結:原始URL] 請確保你的語氣專業中立,並使用繁體中文(台灣)進行回應。 **以下是新聞資料:** {{ $json.news }}
儲存並啟用 (Active) 工作流。
News
工作流完美展示了如何呼叫 GNews API,並利用 LLM 將多筆新聞結果整理成一份高品質的摘要。
完成圖如下:
MCPClient
伺服器現在,讓我們的「專案經理」學會這項新技能。
MCPClient
工作流。
MCP Server Trigger
下方已經掛載了昨天的「計算機」和「天氣」工具。MCP Server Trigger
下方的 +
號,選擇 Add Tool
-> Call n8n Workflow Tool
,新增第三個工具。news
當使用者需要查詢關於特定主題、人物、公司或事件的【即時】或【最新】新聞報導時,請使用此工具。此工具非常適合用來回答關於近期發生的事件,因為你自己的內建知識可能已經過時。此工具需要一個新聞主題或關鍵字作為輸入參數。例如,當使用者問「AI 最近有什麼新發展?」或「台灣最新的財經新聞是什麼?」,就應該使用此工具。
title
的參數。News
工作流。我們的 MCPClient
現在是一個擁有多種能力的強大 MCP 伺服器,同時提供了計算、新聞和天氣三種工具。
最激動人心的時刻來了!我們完全不需要修改 MCP Demo
主流程。AI Agent 的「工具發現」機制會自動檢測到伺服器端的新能力。
MCP Demo
工作流的聊天視窗。幫我找一篇關於 iphone 17 的新聞
你會看到,AI Agent 理解了你的意圖,準確地從三個可用工具中選擇了 News
工具,並將 iphone 17
作為 query
參數傳遞過去。最終,它將 News
工作流精心整理好的新聞摘要,完美地呈現在你的眼前。
今天,我們不僅成功打造了一個新的工具,更重要的是,我們學會了如何**「擴展」**一個 MCP 伺服器。
我們的 AI Agent 變得越來越厲害了!